.text
__flush_dcache_range_1:
    mcr p15, 0, r0, c7, c14, 1
    bx lr

__invalidate_dcache_range:
    mcr p15, 0, r0, c7, c6, 1
    bx lr

__flush_dcache_range_2:
    mcr p15, 0, r0, c7, c10, 4
    bx lr

__uni_wfi:
   mcr p15, 0, r0, c7, c0, 4
   bx lr
   
.text
.thumb_func
//void _flush_dcache_range_1(void* start)
.global _flush_dcache_range_1
_flush_dcache_range_1:
    ldr r1, =__flush_dcache_range_1
    bx r1

//void _invalidate_dcache_range(void* start)
.global _invalidate_dcache_range
_invalidate_dcache_range:
    ldr r1, =__invalidate_dcache_range
    bx r1

//void _flush_dcache_range_2(void)
.global _flush_dcache_range_2
_flush_dcache_range_2:
    ldr r1, =__flush_dcache_range_2
    bx r1

.global _uni_wfi
_uni_wfi:
    ldr r1, = __uni_wfi
    bx r1